package com.renjiyue.GUI;

import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

//内部类
public class GUIDome13 {
    public static void main(String[] args) {
        new MyMathFrame().launchFrame();
    }
}
class MyMathFrame extends Frame{
    TextField num1,num2,num3;
    public void launchFrame(){
        num1 = new TextField(10);
        num2 = new TextField(10);
        num3 = new TextField(15);
        Label lblPlus = new Label("+");
        Button btnEqual = new Button("=");
        btnEqual.addActionListener(new MyMonnitor6());
        setLayout(new FlowLayout());
        add(num1);
        add(lblPlus);
        add(num2);
        add(btnEqual);
        add(num3);
        pack();
        setVisible(true);
    }
    /*
    这个MyMonnitor6类是内部类，它在MyFrame类里面定义 MyFrame类称为MyMonnitor6类的包装类
    使用内部类的好处：
    第一个巨大的好处就是可以畅通无阻的访问外部类（即内部类的包装类）的所有成员变量和方法
    如这里的在MyFrame类（外部类）定义的三个成员变量num1，num2,num3
    在MyMonntor6（内部类）里面可以直接访问
    这相当于在创建外部类对象是内部类对象默认就拥有了一个外部类对象的引用
     */
    private class MyMonnitor6 implements ActionListener{
        @Override
        public void actionPerformed(ActionEvent e) {
            int n1 = Integer.parseInt(num1.getText());
            int n2 = Integer.parseInt(num2.getText());
            num3.setText(""+ (n1+n2));
            num1.setText("");
            num2.setText("");
        }
    }
}
